home *** CD-ROM | disk | FTP | other *** search
/ Clickx 47 / Clickx 47.iso / assets / software / sswitchxp152.exe / source / SpeedswitchXP / GeneralOptions.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2006-07-13  |  7.8 KB  |  251 lines

  1. /*
  2.    SpeedswitchXP V1.5
  3.    - Windows XP CPU Frequency Control for Notebooks -
  4.  
  5.    Copyright(c) 2002-2006 Christian Diefer
  6.  
  7.    This program is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License version 2 as 
  9.    published by the Free Software Foundation.
  10.    
  11.    This program is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with this program; if not, write to the Free Software
  18.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19. */
  20.  
  21. #define _UNICODE
  22.  
  23. #include "stdafx.h"
  24. #include "SpeedswitchXP.h"
  25. #include "GeneralOptions.h"
  26.  
  27.  
  28. // CGeneralOptions dialog
  29.  
  30. IMPLEMENT_DYNAMIC(CGeneralOptions, CDialog)
  31.  
  32. CGeneralOptions::CGeneralOptions(CWnd* pParent /*=NULL*/)
  33.     : CDialog(CGeneralOptions::IDD, pParent)
  34.   , m_bAutostart(FALSE)
  35.   , m_bDebugmode(FALSE)
  36.   , m_bMinimizeOnClose(FALSE)
  37.   , m_bCheckStatus(FALSE)
  38.   , m_iCheckInterval(5)
  39.   , m_bReactivate(FALSE)
  40.   , m_bReadCPUSpeed(FALSE)
  41.   , m_iSpeedMethod(1)
  42.   , m_bReadCPULoad(FALSE)
  43.   , m_bShowDiagram(FALSE)
  44.   , m_iCPUInterval(2)
  45.   , m_iSpeedScaling(0)
  46.   , m_iBattMethod(0)
  47.   , m_bShowBattery(FALSE)
  48.   , m_iBatteryIndicator(0)
  49.   , m_bChargeIndicator(FALSE)
  50.   , m_bSpeedIcon(FALSE)
  51.   , m_bLoadIcon(FALSE)
  52. { }
  53.  
  54. CGeneralOptions::~CGeneralOptions()
  55. { }
  56.  
  57. void CGeneralOptions::DoDataExchange(CDataExchange* pDX)
  58. {
  59.   CDialog::DoDataExchange(pDX);
  60.   DDX_Check(pDX, IDC_CHECK1, m_bAutostart);
  61.   DDX_Check(pDX, IDC_CHECK2, m_bDebugmode);
  62.   DDX_Check(pDX, IDC_CHECK3, m_bMinimizeOnClose);
  63.   DDX_Check(pDX, IDC_CHECK4, m_bCheckStatus);
  64.   DDX_Text(pDX, IDC_EDIT1, m_iCheckInterval);
  65.   DDX_Check(pDX, IDC_CHECK5, m_bReactivate);
  66.   DDX_Check(pDX, IDC_CHECK6, m_bReadCPUSpeed);
  67.   DDX_CBIndex(pDX, IDC_COMBO2, m_iSpeedMethod);
  68.   DDX_Check(pDX, IDC_CHECK7, m_bReadCPULoad);
  69.   DDX_Check(pDX, IDC_CHECK8, m_bShowDiagram);
  70.   DDX_Text(pDX, IDC_EDIT3, m_iCPUInterval);
  71.   DDX_CBIndex(pDX, IDC_SCALING, m_iSpeedScaling);
  72.   DDX_CBIndex(pDX, IDC_BATTMET, m_iBattMethod);
  73.   DDX_Check(pDX, IDC_SHOWBATT, m_bShowBattery);
  74.   DDX_CBIndex(pDX, IDC_BATTIND, m_iBatteryIndicator);
  75.   DDX_Check(pDX, IDC_CHARGECHECK, m_bChargeIndicator);
  76.   DDX_Check(pDX, IDC_CHECK10, m_bSpeedIcon);
  77.   DDX_Check(pDX, IDC_CHECK11, m_bLoadIcon);
  78.   DDX_Control(pDX, IDC_COMBO1, m_cIconColor1);
  79.   DDX_Control(pDX, IDC_COMBO3, m_cIconColor2);
  80.   DDX_CBIndex(pDX, IDC_COMBO1, m_iIconColor1);
  81.   DDX_CBIndex(pDX, IDC_COMBO3, m_iIconColor2);
  82.   DDX_Check(pDX, IDC_CHECK12, m_bIconTransparent);
  83. }
  84.  
  85. BOOL CGeneralOptions::OnInitDialog()
  86. {
  87.     CDialog::OnInitDialog();
  88.  
  89.   ((CWnd*)GetDlgItem(IDC_EDIT1))->EnableWindow( m_bCheckStatus );
  90.   ((CWnd*)GetDlgItem(IDC_COMBO2))->EnableWindow( m_bReadCPUSpeed );
  91.   ((CWnd*)GetDlgItem(IDC_CHECK10))->EnableWindow( m_bReadCPUSpeed );
  92.   ((CWnd*)GetDlgItem(IDC_CHECK11))->EnableWindow( m_bReadCPULoad );
  93.   ((CWnd*)GetDlgItem(IDC_STATIC8))->EnableWindow( m_bShowDiagram );
  94.   ((CWnd*)GetDlgItem(IDC_SCALING))->EnableWindow( m_bShowDiagram );
  95.  
  96.   if( !m_bReadCPUSpeed && !m_bReadCPULoad )
  97.   {
  98.     m_bShowDiagram = FALSE;
  99.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( FALSE );
  100.     ((CWnd*)GetDlgItem(IDC_STATIC8))->EnableWindow( FALSE );
  101.     ((CWnd*)GetDlgItem(IDC_SCALING))->EnableWindow( FALSE );
  102.   }
  103.   else
  104.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( TRUE );
  105.  
  106.   bool x = (m_bReadCPUSpeed || m_bReadCPULoad || m_bShowBattery);
  107.   ((CWnd*)GetDlgItem(IDC_STATIC3))->EnableWindow( x );
  108.   ((CWnd*)GetDlgItem(IDC_STATIC4))->EnableWindow( x );
  109.   ((CWnd*)GetDlgItem(IDC_EDIT3))->EnableWindow( x );
  110.  
  111.   ((CWnd*)GetDlgItem(IDC_BATTIND))->EnableWindow( m_bShowBattery );
  112.   ((CWnd*)GetDlgItem(IDC_BATTMET))->EnableWindow( m_bShowBattery );
  113.   ((CWnd*)GetDlgItem(IDC_CHARGECHECK))->EnableWindow( m_bShowBattery );
  114.  
  115.   ((CWnd*)GetDlgItem(IDC_STATIC333))->EnableWindow( !m_bIconTransparent );
  116.   ((CWnd*)GetDlgItem(IDC_COMBO3))->EnableWindow( !m_bIconTransparent );
  117.  
  118.   return TRUE;
  119. }
  120.  
  121. BEGIN_MESSAGE_MAP(CGeneralOptions, CDialog)
  122.   ON_BN_CLICKED(IDC_CHECK2, OnBnClickedCheck2)
  123.   ON_BN_CLICKED(IDC_CHECK4, OnBnClickedCheck4)
  124.   ON_BN_CLICKED(IDC_CHECK6, OnBnClickedCheck6)
  125.   ON_BN_CLICKED(IDC_CHECK8, OnBnClickedCheck8)
  126.   ON_BN_CLICKED(IDC_CHECK7, OnBnClickedCheck7)
  127.   ON_BN_CLICKED(IDC_SHOWBATT, OnBnClickedShowbatt)
  128.   ON_BN_CLICKED(IDC_CHECK12, &CGeneralOptions::OnBnClickedTransparent)
  129. END_MESSAGE_MAP()
  130.  
  131.  
  132. // CGeneralOptions message handlers
  133.  
  134. void CGeneralOptions::OnBnClickedCheck2()
  135. {
  136.   UpdateData();    
  137.  
  138.   if( m_bDebugmode )
  139.   {
  140.     CString s1, s2;
  141.     s1.LoadStringW( IDS_GEN32 );
  142.     s2.LoadStringW( IDS_GEN33 );
  143.  
  144.     if( MessageBox(s1,s2,MB_ICONEXCLAMATION|MB_YESNO) != IDYES )
  145.     {
  146.       m_bDebugmode = FALSE;
  147.       UpdateData( FALSE );
  148.     }
  149.   }
  150. }
  151.  
  152. // enable/disable check power scheme integrity
  153. void CGeneralOptions::OnBnClickedCheck4()
  154. {
  155.   UpdateData();
  156.   ((CWnd*)GetDlgItem(IDC_EDIT1))->EnableWindow( m_bCheckStatus );
  157. }
  158.  
  159. // enable/disable CPU speed reading
  160. void CGeneralOptions::OnBnClickedCheck6()
  161. {
  162.   UpdateData();
  163.  
  164.   ((CWnd*)GetDlgItem(IDC_COMBO2))->EnableWindow( m_bReadCPUSpeed );
  165.   ((CWnd*)GetDlgItem(IDC_CHECK10))->EnableWindow( m_bReadCPUSpeed );
  166.  
  167.   if( !m_bReadCPUSpeed )
  168.     m_bSpeedIcon = FALSE;
  169.  
  170.   if( !m_bReadCPUSpeed && !m_bReadCPULoad )
  171.   {
  172.     m_bShowDiagram = FALSE;
  173.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( FALSE );
  174.     ((CWnd*)GetDlgItem(IDC_STATIC8))->EnableWindow( FALSE );
  175.     ((CWnd*)GetDlgItem(IDC_SCALING))->EnableWindow( FALSE );
  176.   }
  177.   else
  178.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( TRUE );
  179.  
  180.   bool x = (m_bReadCPUSpeed || m_bReadCPULoad || m_bShowBattery);
  181.   ((CWnd*)GetDlgItem(IDC_STATIC3))->EnableWindow( x );
  182.   ((CWnd*)GetDlgItem(IDC_STATIC4))->EnableWindow( x );
  183.   ((CWnd*)GetDlgItem(IDC_EDIT3))->EnableWindow( x );
  184.  
  185.   UpdateData( FALSE );
  186. }
  187.  
  188. // enable/disable history diagram
  189. void CGeneralOptions::OnBnClickedCheck8()
  190. {
  191.   UpdateData();
  192.  
  193.   ((CWnd*)GetDlgItem(IDC_STATIC8))->EnableWindow( m_bShowDiagram );
  194.   ((CWnd*)GetDlgItem(IDC_SCALING))->EnableWindow( m_bShowDiagram );
  195. }
  196.  
  197. // enable/disable CPU load reading
  198. void CGeneralOptions::OnBnClickedCheck7()
  199. {
  200.   UpdateData();
  201.  
  202.   ((CWnd*)GetDlgItem(IDC_CHECK11))->EnableWindow( m_bReadCPULoad );
  203.  
  204.   if( !m_bReadCPULoad )
  205.     m_bLoadIcon = FALSE;
  206.  
  207.   if( !m_bReadCPUSpeed && !m_bReadCPULoad )
  208.   {
  209.     m_bShowDiagram = FALSE;
  210.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( FALSE );
  211.     ((CWnd*)GetDlgItem(IDC_STATIC8))->EnableWindow( FALSE );
  212.     ((CWnd*)GetDlgItem(IDC_SCALING))->EnableWindow( FALSE );
  213.   }
  214.   else
  215.     ((CWnd*)GetDlgItem(IDC_CHECK8))->EnableWindow( TRUE );
  216.  
  217.   bool x = (m_bReadCPUSpeed || m_bReadCPULoad || m_bShowBattery);
  218.   ((CWnd*)GetDlgItem(IDC_STATIC3))->EnableWindow( x );
  219.   ((CWnd*)GetDlgItem(IDC_STATIC4))->EnableWindow( x );
  220.   ((CWnd*)GetDlgItem(IDC_EDIT3))->EnableWindow( x );
  221.  
  222.   UpdateData( FALSE );
  223. }
  224.  
  225. void CGeneralOptions::OnBnClickedShowbatt()
  226. {
  227.   UpdateData();
  228.  
  229.   ((CWnd*)GetDlgItem(IDC_BATTIND))->EnableWindow( m_bShowBattery );
  230.   ((CWnd*)GetDlgItem(IDC_BATTMET))->EnableWindow( m_bShowBattery );
  231.   ((CWnd*)GetDlgItem(IDC_CHARGECHECK))->EnableWindow( m_bShowBattery );
  232.  
  233.   if( !m_bShowBattery )
  234.     m_bChargeIndicator = FALSE;
  235.  
  236.   bool x = (m_bReadCPUSpeed || m_bReadCPULoad || m_bShowBattery);
  237.   ((CWnd*)GetDlgItem(IDC_STATIC3))->EnableWindow( x );
  238.   ((CWnd*)GetDlgItem(IDC_STATIC4))->EnableWindow( x );
  239.   ((CWnd*)GetDlgItem(IDC_EDIT3))->EnableWindow( x );
  240.  
  241.   UpdateData( FALSE );
  242. }
  243.  
  244. void CGeneralOptions::OnBnClickedTransparent()
  245. {
  246.   UpdateData();
  247.  
  248.   ((CWnd*)GetDlgItem(IDC_STATIC333))->EnableWindow( !m_bIconTransparent );
  249.   ((CWnd*)GetDlgItem(IDC_COMBO3))->EnableWindow( !m_bIconTransparent );
  250. }
  251.